﻿namespace AzureLogProviders.Common
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    public class Constants
    {
        internal struct Others
        {
            public const string LocalResource = "AzureLogProviders";
            public const string LogToCategory = "General";
            public const string ListenerName = "RollingTextListner";
            public const string DefaultTemplate = "Timestamp: {timestamp}{newline}&#xA;Message: {message}{newline}&#xA;Category: {category}{newline}&#xA;Priority: {priority}{newline}&#xA;EventId: {eventid}{newline}&#xA;Severity: {severity}{newline}&#xA;Title:{title}{newline}&#xA;Machine: {localMachine}{newline}&#xA;App Domain: {localAppDomain}{newline}&#xA;ProcessId: {localProcessId}{newline}&#xA;Process Name: {localProcessName}{newline}&#xA;Thread Name: {threadName}{newline}&#xA;Win32 ThreadId:{win32ThreadId}{newline}&#xA;Extended Properties: {dictionary({key} - {value}{newline})}";
            public const string ActivityId = "ActivityId";
            public const string Exception = "Exception";
            public const string MiliSecondElapsed = "MiliSecondElapsed";
            public const string Originator = "Originator";
            public const string PreviousActivityId = "PreviousActivityId";
            public const string Ticks = "Ticks";
            public const string TraceGroup = "TraceGroup";
        }


        internal struct ConfigKeys
        {
            public const string FileExistsBehaviour = "fileExistsBehaviour";
            public const string FileName = "fileName";
            public const string MaxArchivedFile = "maxArchivedFile";
            public const string MessageFooter = "messageFooter";
            public const string MessageHeader = "messageHeader";
            public const string RollInterval = "rollInterval";
            public const string RollSizeKB = "rollSizeKB";
            public const string SeverityFilter = "severityFilter";
            public const string TimestampPattern = "timestampPattern";
            public const string TraceOutputOptions = "traceOutputOptions";
            public const string FormatterType = "formatterType";
            public const string Template = "template";
            public const string TracingEnabled = "tracingEnabled";
        }

        internal struct ExceptionMessages
        {
            public const string InvalidFileName = "Invalid File Name";
            public const string InvalidSeverityLevel = "Invalid Severity Level";
        }

    }
}
